﻿#include <iostream>
#include <fstream>
#include <cstdlib>
#include <vector>
#include <string>



#include "interface.h"
#include "data_struct.h"
#include "fix_arpa_by_words.h"
#include "safe_queue.h"
#include "data_struct.h"

using namespace gdface::mt;







int main(int argc, char* argv[]) {
	const char* usage = "Usage : \n"
		"Print some CPP constructor learning info\n"
		"when constructing a new object, there are four special scenarios which\n"
		"should initialize the the member variables in the list of initialization,\n"
		"the means after ( before {}\n";
	if (argc == 1)
	{
		std::cout << usage << std::endl;
		return -1;
	}
	const char* leetcode_usage = "Usage : This is for Leetcode learning.\n"
		"Leetcode are special testing problem for improving personal skills about programming.\n"
		"Every one can use this. \n";
	LeetCodeLearning(leetcode_usage);
	threadsafe_queue_test();
	std::string arpa_name = argv[1];
	std::string words_name = argv[2];
	FixArpaByWords(arpa_name.c_str(), words_name.c_str());
	
	BasicDataStructure();
	OperType type_do = DSType;
	//MathAlorithms nnet_instance;
	switch (type_do)
	{
	case DSType:
		//DSTest(argv[1]);
		//SortTest(argv[1]);
		break;
	case ALType:
		//nnet_instance.RnnTrain();
		break;
	default:
		break;
	}
	
	


	return 0;




}
